
//获取应用实例(获取app.js全局变量必须获取应用实例)
const App = getApp()

//网络请求封装
import Request_post from "../../../../request/Request_post"
import Request_get from "../../../../request/Request_get"

//系统设置项目
import config from "../../../../config/config"

// 缓存rul图片到本地
import cacheimg from "../../../../utils/cacheImg"

//引入时间函数
var dateArray = require("../../../../utils/CustomFunction/getDayFirstNowLast.js")
var time = require("../../../../utils/CustomFunction/getNowTime.js")

//引入日期时间：（格式化、反格式化）函数
var formatDate = require("../../../../utils/CustomFunction/dateFormat.js")
var unformatDate = require("../../../../utils/CustomFunction/dateUnFormat.js")

//全局数组：优惠券样式
import wxGloalArray from "../../../../config/GlobalArray.js"


Page({

	/**
	 * 页面的初始数据 			
	 */  
	data: {

    loadingShow: "true",

    downPulltype: false,

		// //空页面
    // EmptyPage:config.imageUrl+"EmptyPage.png",
    // //默认购物券图片LOGO
    // Default_shopping_logo:config.imageUrl+"Default_shopping_logo.jpg",
    // //默认停车券图片LOGO
    // Default_parking_logo:config.imageUrl+"Default_parking_logo.jpg",
    // //默认兑换券图片LOGO
    // Default_exchang_log:config.imageUrl+"Default_exchang_logo.jpg",
    // //已使用标志
    // UsedCop:config.imageUrl+"UsedCop.png",
    // //已过期标志
    // OutdatedCop:config.imageUrl+"OutdatedCop.png",
    // //业主标志
    // ownflg:config.imageUrl+"Ownflg.png",

    // 页面外链资源图片（需要本地缓存的）
    pageImage: 
    [ 
      {key: "Default_shopping_logo",value: config.imageUrl+"Default_shopping_logo.jpg"},
      {key: "Default_parking_logo",value: config.imageUrl+"Default_parking_logo.jpg"},
      {key: "Default_exchang_logo",value: config.imageUrl+"Default_exchang_logo.jpg"},
      {key: "UsedCop",value: config.imageUrl+"UsedCop.png"},                  // 已使用图片
      {key: "OutdatedCop",value: config.imageUrl+"OutdatedCop.png"},          // 已过期图片
      {key: "ownflg",value: config.imageUrl+"Ownflg.png"},                    // 业主专享图片
    ],


    //选择标签
    Cop_Time_liness:["未使用","已使用","已过期"],
		//标签选择默认index = 0
    item_List_TabsIndex:0,

    //下拉选择默认dropdownmenuId = 1
    dropMenuId:1,
    //下拉菜单
		dropDownMenuTitle: ['','全部','',''],
    data2: [
      {
        id: 1,
        title: '全部'
      },
      {
        id: 2,
        title: '抵用券'
      },
      {
        id: 3,
        title: '兑换券'
      },
      {
        id: 9,
        title: '停车券'
      },
			
		],
    
    //优惠券性质默认所有券性质(目前已有的券类型：01、02、09、10)
    copchtid:"01,02,09,10", 
    //优惠券有效标志默认：01有效
    stsid:"01",
  
  },



  //未注册会员点击注册
  regNow:function(){
    wx.redirectTo({ 
      url:"/SubpkgPublicPage/pages/PublicPage/PrivacyPolicy/PolicyMain/PolicyMain"
    });
  },








  
  /** 外链图片Url资源，缓存到本地 */
	storeImage:function(){
    var that = this
    let obj = {}
    let pageimgArr = that.data.pageImage
    // 图片外链url：ip:端口 替换成 域名（外链资源不做域名转换了，而是外链资源原始链接必须就是域名url）
    // pageimgArr.forEach(i => {i.value = config.domainName + i.value.split('/').slice(3).join('/')})
    // 调用本地文件缓存方法 mapCacheUrl
    pageimgArr = pageimgArr.map(i => ({
      ...i,imgpath:cacheimg.mapCacheUrl(i.value)
    }))  
    // 数组转换为对象
    pageimgArr.forEach(i => {obj[i.key] = i.imgpath})
    that.setData({pageStoreimg: obj })
    // console.log(that.data.pageStoreimg)
	},


  /** 触击下拉菜单时间：选择券性值（所有券、抵用券、兑换券、停车券） */
	selectedItem: function(e) {
    var that = this
		var selectedId= e.detail.selectedId         //ID
    var selectedTitle = e.detail.selectedTitle  //名称
    that.setData({ dropMenuId: selectedId})

    if(that.data.dropMenuId == '1'){
      that.setData({
        copchtid:"01,02,09,10",
        stsid:that.data.stsid
      })
      that.onShow()
    }else if(that.data.dropMenuId == '2'){
      that.setData({
        copchtid:"01",
        stsid:that.data.stsid
      })
      that.onShow()
    }else if(that.data.dropMenuId == '3'){     
      that.setData({
        copchtid:"02",
        stsid:that.data.stsid
      })
      that.onShow()
    }else if(that.data.dropMenuId == '9'){     
      that.setData({
        copchtid:"09,10",
        stsid:that.data.stsid
      })
      that.onShow()
    }
  },


  //优惠券时效性Tab标签
  Cop_TimelinessNav: function (event) {
		var that = this;
    var Tab_index =  event.currentTarget.dataset.index;
    that.setData({ item_List_TabsIndex : Tab_index})

    if(Tab_index == '0'){   //未使用：stsid == '01'（stsid：01-当前有效，02-已使用，08，已过期，09-已作废）
      that.setData({
        copchtid:that.data.copchtid,
        stsid:"01"
      })
      that.onShow()
    }else if(Tab_index == '1'){   //已使用：stsid == '02'（stsid：01-当前有效，02-已使用，08，已过期，09-已作废）
      that.setData({
        copchtid:that.data.copchtid,
        stsid:"02"
      })
      that.onShow()
    }else if(Tab_index == '2'){   //已过期：stsid == '08'（stsid：01-当前有效，02-已使用，08-已过期，09-已作废）
      that.setData({
        copchtid:that.data.copchtid,
        stsid:"08"
      })
      that.onShow()
    }

    // console.log(that.data.item_List_TabsIndex)
    

    /**对数组进行过滤 （参考）
     * //将获取的结果，进行过滤——根据 “发券方式echmodid”，重构数组AvailableArray
        const AvailableArray = res.return_data.filter((item, index, arr) => item.echmodid == that.data.echmodid)
        that.setData({ AvailableArray})
     * 
    */
	},



	/**
	 * 生命周期函数--监听页面加载
	 */
	onLoad: function (options) {
    var that = this

    // 会员是否注册的标志regflg
    getApp().loginPromise.then(v => {	//app.js的Promise成功回调（全局变量赋值成功后才执行请求）
      that.setData({regflg: App.globalData.regflg})
    })
    // console.log(App.globalData.regflg)

    if(options.getcoptypid == 'buycopseckill'){
      that.setData({noticeTxt :"温馨提示：如您购买的优惠券未在列表中，请下拉刷新列表，或稍候再次尝试刷新即可",getcoptypid :options.getcoptypid})
    }else{
      that.setData({noticeTxt :"温馨提示：下拉即可刷新列表",getcoptypid :''})
    }

 
    //进入本页面，设置下拉和tab的初始ID号
    that.setData({
      dropMenuId:1,
      item_List_TabsIndex:0
    })

    that.onShow()
    // console.log('下拉获取值：'+ that.data.dropMenuId)
    // console.log('tab标签的值：'+that.data.item_List_TabsIndex)
	},

	/**
	 * 生命周期函数--监听页面初次渲染完成
	 */
	onReady: function () {

	},

	/**
	 * 生命周期函数--监听页面显示
	 */
	onShow: function () {
    var that = this
    // 外链资源图片链接 本地缓存
    if(App.globalData.ResourcesLink_Locstr === 'y'){
      that.storeImage();
    // 外链资源图片链接 直接读取url地址
    }else{
      let pageimgArr = that.data.pageImage
      let object = {}
      pageimgArr.forEach(i => {object[i.key] = i.value}) // 数组转换为对象
      that.setData({pageStoreimg: object })
      // console.log(that.data.pageStoreimg)
		}

    /** Api请求：09-001 会员电子优惠券列表查询  **/
    getApp().loginPromise.then(v => {	//app.js的Promise成功回调（全局变量赋值成功后才执行请求）
      Request_get.get(
        config.domainName+'api_wxmkt_server/mbrcopbsc/listmbrcop',
        {
          copchtid: that.data.copchtid,   //all-全部、01-购物券、09-停车券（包含：09 & 10）
          stsid: that.data.stsid,         //01-当前有效，02-已使用，08，已过期，09-已作废
        },
        function(res){
        // console.log(res)
        if(res != "undefined" && res.return_no == 1){
          const copArray = res.return_data
          for( var i in copArray){
            copArray[i].escapecopid = escape(copArray[i].copid)   //使用escape转码 和 unescape解码，因为url地址是采用UTF-8编码，而第三方券可能在copid中含有 ! @ # $& * ( ) = : / ; ? + '等不会被编码的字符，所以会导致传参不成功
            for( var n in copArray[i].cusscpinfo){
              if(copArray[i].cusscpinfo[n].cusscpid == App.globalData.mbrclsid){
                copArray[i].startuseamt = copArray[i].cusscpinfo[n].usestdamt
              }
            }
          }

          // console.log(copArray)

          let array = copArray
          if(App.globalData.Erpimage_Locstr ==='y'){
            //将回调结果中的imgurl地址，转换为域名（原地址为：http://ip:port/xxx 转换为：https://域名/xxx）
            for(var i in array){
              if(array[i].logo){
                array[i].logo = config.domainName + array[i].logo.split('/').slice(3).join('/');
              }
            }
            that.setData({
              // 调用本地文件缓存方法 mapCacheUrl
              Coplist:array.map(i => ({
                ...i,
                imgpath:cacheimg.mapCacheUrl(i.logo)
              })) ,
              show:false
            }) ;
          }else{
            // 使用res的原始回调（数组对象中增加一个imgpath的属性值，因为html标签中用imgpath做渲染）
            that.setData({
              Coplist:res.return_data.map(i => ({
                ...i,
                imgpath:i.logo
              })) ,
              show:false
            }) ;
          }
        

          // console.log(that.data.Coplist)
          const List = that.data.Coplist
          const style = wxGloalArray.copstyle
          for(var i = 0; i < List.length; i++){
            for(var e = 0; e < style.length; e++){
              if(
                style[e].copchtid == List[i].copchtid   // 券性质（01-购物券、02-兑换券、09-停车券（包含 09 & 10 ））
                // style[e].copchnid == List[i].copchnid &&  // 发券渠道（01-商场、02-第三方）
                // style[e].copownid == List[i].copownid     // 专属范围 （00-不限制、01-会员业主）
              ){
                //将style数组中的第n个对象的所有属性(值)添加到coparray数组的第i个对象中。
                for(var key in style[e]){			
                  List[i][key] = style[e][key]
                }
              } 
            } 
          }
          that.setData({
            Coplist:List,
            loadingShow: "false",
          })
          console.log('我的优惠券列表回调：',that.data.Coplist)
        }else{
          // Api获取失败，则返回失败信息
          wx.showModal({
            content: res.return_msg
          })
        }
      })
    })


  },
  
  // 下拉刷新
  dropDown(){
    var that = this
    // console.log("下拉刷新开启")
    that.setData({
      downPulltype:true
    })
     /** Api请求：09-001 会员电子优惠券列表查询  **/
     getApp().loginPromise.then(v => {	//app.js的Promise成功回调（全局变量赋值成功后才执行请求）
      Request_get.get(
        config.domainName+'api_wxmkt_server/mbrcopbsc/listmbrcop',
        {
          copchtid: that.data.copchtid,   //all-全部、01-购物券、09-停车券（包含：09 & 10）
          stsid: that.data.stsid,         //01-当前有效，02-已使用，08，已过期，09-已作废
        },
        function(res){
        // console.log(res)
        if(res != "undefined" && res.return_no == 1){
          const copArray = res.return_data
          for( var i = 0; i < copArray.length; i++){
            for( var n = 0 ; n < copArray[i].cusscpinfo.length; n++ ){
            if(copArray[i].cusscpinfo[n].cusscpid == App.globalData.mbrclsid){
              copArray[i].startuseamt = copArray[i].cusscpinfo[n].usestdamt
              copArray[i].escapecopid = escape(copArray[i].copid)   //使用escape转码 和 unescape解码，因为url地址是采用UTF-8编码，而第三方券可能在copid中含有 ! @ # $& * ( ) = : / ; ? + '等不会被编码的字符，所以会导致传参不成功
            }
            }
          }

          // console.log(copArray)

          let array = copArray
          if(App.globalData.Erpimage_Locstr ==='y'){
            //将回调结果中的imgurl地址，转换为域名（原地址为：http://ip:port/xxx 转换为：https://域名/xxx）
            for(var i in array){
              if(array[i].logo){
                array[i].logo = config.domainName + array[i].logo.split('/').slice(3).join('/');
              }
            }
            that.setData({
              // 调用本地文件缓存方法 mapCacheUrl
              Coplist:array.map(i => ({
                ...i,
                imgpath:cacheimg.mapCacheUrl(i.logo)
              })) ,
              show:false
            }) ;
          }else{
            // 使用res的原始回调（数组对象中增加一个imgpath的属性值，因为html标签中用imgpath做渲染）
            that.setData({
              Coplist:res.return_data.map(i => ({
                ...i,
                imgpath:i.logo
              })) ,
              show:false
            }) ;
          }

          const List = that.data.Coplist
          const style = wxGloalArray.copstyle
          for(var i = 0; i < List.length; i++){
            for(var e = 0; e < style.length; e++){
              if(
                style[e].copchtid == List[i].copchtid   // 券性质（01-购物券、02-兑换券、09-停车券（包含 09 & 10 ））
                // style[e].copchnid == List[i].copchnid &&  // 发券渠道（01-商场、02-第三方）
                // style[e].copownid == List[i].copownid     // 专属范围 （00-不限制、01-会员业主）
              ){
                //将style数组中的第n个对象的所有属性(值)添加到coparray数组的第i个对象中。
                for(var key in style[e]){			
                  List[i][key] = style[e][key]
                }
              } 
            } 
          }
          that.setData({
            Coplist:List
          })
          // console.log(that.data.Coplist)
        }else{
          // Api获取失败，则返回失败信息
          wx.showModal({
            content: res.return_msg
          })
        }
      })
    })

    console.log("下拉刷新结束后关闭")
    that.setData({
      downPulltype:false
    })
    wx.hideNavigationBarLoading();
    wx.stopPullDownRefresh();
  },



  // 优惠券列表的按钮：“立即使用 or 查看券详情” 处理逻辑
  copList_button:function(i){
    // console.log(i)
    var tab_index = this.data.item_List_TabsIndex
    var copchtid = i.currentTarget.dataset.copchtid
    var copid = i.currentTarget.dataset.copid
    var startuseamt = i.currentTarget.dataset.startuseamt
    var ParkingCopUseMode = wx.getStorageSync('StrMktopt').ParkingCopUseMode
    if(copchtid == '09' || copchtid == '10'){
      if( ParkingCopUseMode == '01' && tab_index == 0 ){  // 停车券：入停车缴费
        wx.navigateTo({
          url: '/SubpkgParkingPay/pages/ParkingPublic/NumberPlate/NumberPlate?copid='+copid,
        })
      }else if(ParkingCopUseMode == '02' || !ParkingCopUseMode || tab_index !== 0 ){  // 停车券：进入券详情
        wx.navigateTo({
          url: '/SubpkgMarketing/pages/Coupon/MineCopDetails/MineCopDetails?startuseamt='+startuseamt+'&copchtid='+copchtid+'&copid='+copid,
        })
      }
    }else if(copchtid == '01' || copchtid == '02'){   // 购物券、抵用券：进入券详情
      wx.navigateTo({
        url: '/SubpkgMarketing/pages/Coupon/MineCopDetails/MineCopDetails?startuseamt='+startuseamt+'&copchtid='+copchtid+'&copid='+copid,
      })
    }
  },



	/**
	 * 生命周期函数--监听页面隐藏
	 */
	onHide: function () {

	},

	/**
	 * 生命周期函数--监听页面卸载
	 */
	onUnload: function () {

	},

	/**
	 * 页面相关事件处理函数--监听用户下拉动作
	 */
	onPullDownRefresh: function () {
  
	},

	/**
	 * 页面上拉触底事件的处理函数
	 */
	onReachBottom: function () {

	},

	/**
	 * 用户点击右上角分享
	 */
	onShareAppMessage: function () {

	}
})